package com.starlink.model.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.starlink.common.PageQueryRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * @author zhanghong
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel("其他订单请求模型")
public class OtherOrderRequest extends PageQueryRequest implements Serializable {
    @ApiModelProperty("订单编号")
    private String orderNo;
    @ApiModelProperty("星类型 1星健康(1、2、3) 2星辅育(4、5) 3新文旅")
    private Integer starType;
    @ApiModelProperty("二级星类型对应关系 1智能穿戴 2测评 3证书 4阅读素养 5写作能力")
    private Integer starSecondType;
    @ApiModelProperty("购买数量")
    private Long purchaseNum;
    @ApiModelProperty("关联的商品业务id")
    private Long bizId;
    @ApiModelProperty("订单金额")
    private String orderMoney;
    @ApiModelProperty("微信支付订单号")
    private String wxPayOrderNo;
    @ApiModelProperty("微信退款订单号")
    private String wxRefundOrderNo;
    @ApiModelProperty("订单状态 1待支付 2已支付 3已退款 4退款中 5已取消")
    private Integer orderStatus;
    @ApiModelProperty("物流状态(智能穿戴特有) 1待发货 2已发货(运输中) 3待收货 4已收货 ")
    private Integer deliveryStatus;
    @ApiModelProperty("服务次数，针对老师客户特有")
    private Long serviceNum;
    @ApiModelProperty("用户openId")
    private String openId;
    @ApiModelProperty("用户id")
    private Long userId;
    @ApiModelProperty("用户名")
    private String userName;
    @ApiModelProperty("用户电话")
    private String mobile;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("支付超时时间")
    private Date timeout;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("取消时间")
    private Date cancelTime;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("支付时间")
    private Date payTime;
    @ApiModelProperty("地址id")
    private Long addressId;
    @ApiModelProperty("核销次数")
    private Long writeOffNum;
    @ApiModelProperty("核销单")
    private String writeOffImg;
    @ApiModelProperty("京东运单号")
    private String waybillCode;
    @ApiModelProperty("物流发货时间")
    private Date deliveryTime;
}
